#include <Windows.h>
#include <tchar.h> 
#include <stdio.h> 

int MessageBoxPrintf(TCHAR* szCaption, TCHAR* szFormat, ...)
{
	TCHAR szBuffer[1024];

	va_list pArgList;

    va_start(pArgList, szFormat);

    // The last argument to wvsprintf points to the arguments
    _vsntprintf_s(szBuffer, sizeof(szBuffer) / sizeof(TCHAR), sizeof(szBuffer) / sizeof(TCHAR) -1,
        szFormat, pArgList);

    // The va_end macro just zeroes out pArgList for no good reason
    va_end(pArgList);

    return MessageBox(NULL, szBuffer, szCaption, 0);
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow)
{
	int cxScreen, cyScreen;
	cxScreen = GetSystemMetrics(SM_CXSCREEN);
	cyScreen = GetSystemMetrics(SM_CYSCREEN);

    MessageBoxPrintf(TEXT("Screen Size"),
        TEXT("The screen is %i pixels wide by %i pixels high."),
        cxScreen, cyScreen);

    return 0;
}